//package com.cn.my.newapp
//
//import android.content.ContentValues.TAG
//import android.content.Context
//import android.content.res.AssetManager
//import android.content.res.Resources
//import android.util.AttributeSet
//import android.util.Log
//import android.util.TypedValue
//import android.view.LayoutInflater
//import android.view.View
//
//private val layoutFactory2 = object : LayoutInflater.Factory2 {
//
//    val attrViews: MutableList<AttrView> = mutableListOf()
//
//    override fun onCreateView(parent: View?, name: String, context: Context, attrs: AttributeSet): View? {
//        val obtainStyledAttributes = context.obtainStyledAttributes(attrs, R.styleable.SkinSupport)
//        val isEnable = obtainStyledAttributes.getBoolean(R.styleable.SkinSupport_enableSkin, false)
//        obtainStyledAttributes.recycle()
//        var createView: View? = null
//        //如果控件支持换肤
//        if (isEnable) {
//            //调用系统方法创建控件
//            createView = delegate.createView(parent, name, context, attrs)
//            val attrView = AttrView(createView)
//            for (i in 0 until attrs.attributeCount) {
//                val attributeName = attrs.getAttributeName(i)
//                //如果是支持换肤的属性
//                if (isSupportAttr(attributeName)) {
//                    val attributeValue = attrs.getAttributeValue(i)
//                    //# 直接写死的颜色 不处理
//                    //?2130903258 ?colorPrimary 这样的 解析主题，找到id，再去找资源名称和类型
//                    //@2131231208 @color/red 直接就是id，根据id找到资源名称和类型
//                    if (attributeValue.startsWith("?")) {
//                        val attrId = attributeValue.substring(1)
//                        val resIdFromTheme = getResIdFromTheme(context, attrId.toInt())
//                        if (resIdFromTheme > 0) {
//                            attrView.attrs.add(AttrItem(attributeName, resIdFromTheme))
//                        }
//                    } else if (attributeValue.startsWith("@")) {
//                        attrView.attrs.add(AttrItem(attributeName, attributeValue.substring(1).toInt()))
//                    }
//                }
//            }
//            attrViews.add(attrView)
//        }
//        return createView
//    }
//
//
//    /**
//     * 解析主题，找到资源id，其实就是方案一里面的方法
//     */
//    private fun getResIdFromTheme(context: Context, attrId: Int): Int {
//        val typedValue = TypedValue()
//        val success = context.theme.resolveAttribute(attrId, typedValue, true)
//        //typedValue.resourceId 可能为0
//        return typedValue.resourceId
//    }
//
//    private fun isSupportAttr(attrName: String): Boolean {
//        if ("textColor" == attrName || "text" == attrName) {
//            return true
//        }
//        return false
//    }
//    fun loadResource(context: Context, skinPath: String) {
//        try {
//            val packageArchiveInfo = context.packageManager.getPackageArchiveInfo(skinPath, PackageManager.GET_ACTIVITIES)
//            if (packageArchiveInfo == null) {
//                Log.w(TAG, "loadResource: app load fail")
//                return
//            }
//            var skinPkgName = packageArchiveInfo.packageName
//            val assetManager = AssetManager::class.java.newInstance()
//            val method = AssetManager::class.java.getMethod("addAssetPath", String::class.java)
//            method.invoke(assetManager, skinPath)
//
//            var resource = Resources(
//                assetManager,
//                context.resources.displayMetrics,
//                context.resources.configuration
//            )
//        } catch (e: Exception) {
//            Log.e(TAG, "loadResource: ", e)
//        }
//    }
//}